-- 必须在这个位置定义PROJECT和VERSION变量
-- PROJECT：ascii string类型，可以随便定义，只要不使用,就行
-- VERSION：ascii string类型，如果使用Luat物联云平台固件升级的功能，必须按照"X.X.X"定义，X表示1位数字；否则可随便定义
PROJECT = "PRESSURESENSOR_EXTEND"
VERSION = "1.0.7"
-- 根据固件判断模块类型
moduleType = string.find(rtos.get_version(), "8955") and 2 or 4

-- 加载日志功能模块，并且设置日志输出等级
-- 如果关闭调用log模块接口输出的日志，等级设置为log.LOG_SILENT即可

require "log"
LOG_LEVEL = log.LOGLEVEL_TRACE

require "sys"

require "net"
require "pins"
-- pins.setup(pio.p0_22,1)
-- 每1分钟查询一次GSM信号强度
-- 每1分钟查询一次基站信息
net.startQueryAll(60000, 60000)

-- 开机启动SIM卡热插拔功能
-- ril.request("AT+CSDT=1")

-- 此处关闭RNDIS网卡功能
-- 否则，模块通过USB连接电脑后，会在电脑的网络适配器中枚举一个RNDIS网卡，电脑默认使用此网卡上网，导致模块使用的sim卡流量流失
-- 如果项目中需要打开此功能，把ril.request("AT+RNDISCALL=0,1")修改为ril.request("AT+RNDISCALL=1,1")即可
-- 注意：core固件：V0030以及之后的版本、V3028以及之后的版本，才以稳定地支持此功能
ril.request("AT+RNDISCALL=0,1")
-- ril.request("AT+IFC=2,2")

-- 加载硬件看门狗功能模块
-- 根据自己的硬件配置决定：1、是否加载此功能模块；2、配置Luat模块复位单片机引脚和互相喂狗引脚
-- 合宙官方出售的Air201开发板上有硬件看门狗，所以使用官方Air201开发板时，必须加载此功能模块
-- 如果用的是720 4g模块，请注释掉这两行
-- require "wdt"
-- wdt.setup(pio.P0_30, pio.P0_31)
--垃圾回收
collectgarbage("setpause", 90)

-- 加载网络指示灯功能模块
-- 根据自己的项目需求和硬件配置决定：1、是否加载此功能模块；2、配置指示灯引脚
-- 合宙官方出售的Air800和Air801开发板上的指示灯引脚为pio.P0_28，其他开发板上的指示灯引脚为pio.P1_1
require "netLed"
pmd.ldoset(15, pmd.LDO_VLCD)
netLed.setup(true, pio.P0_4, pio.P0_1)
netLed.updateBlinkTime("IDLE", 500, 500)
netLed.updateBlinkTime("SIMERR", 0, 0xFFFF)
netLed.updateBlinkTime("GSM", 500, 500)
netLed.updateBlinkTime("SCK", 500, 500)
netLed.updateBlinkTime("GPRS", 500, 500)
netLed.updateBlinkTime("FLYMODE", 0, 0xFFFF)
-- netLed.setup(true,moduleType == 2 and pio.P1_1 or pio.P2_0,moduleType == 2 and nil or pio.P2_1)--自动判断2/4g默认网络灯引脚配置
-- 网络指示灯功能模块中，默认配置了各种工作状态下指示灯的闪烁规律，参考netLed.lua中ledBlinkTime配置的默认值
-- 如果默认值满足不了需求，此处调用netLed.updateBlinkTime去配置闪烁时长

-- 加载错误日志管理功能模块【强烈建议打开此功能】
-- 如下2行代码，只是简单的演示如何使用errDump功能，详情参考errDump的api
require "errDump"
errDump.request("udp://ota.airm2m.com:9072")

-- 加载远程升级功能模块【强烈建议打开此功能】
-- 如下3行代码，只是简单的演示如何使用update功能，详情参考update的api以及demo/update
PRODUCT_KEY = "Ku0DjUe64PE7mr3ejW4qaTRP5MnptSFt"
require "update"
update.request()

-- 加载系统工具
require "misc"
require "utils"
require "patch"

-- 开机指示灯PWR-LED模块开机指示
require "powerOnIndicator"
--循环查询系统空间
require "sysStorageSpaceMon"
-- #基站定位
require "getLbsLoc"
-- 加载设定设备编号模块
require "getNewClientNo"
-- 网络授时
require "networkTiming"
-- 设备应急重启
require "mqttRestartTask"
-- 设备监控-本公司
-- require "mqttTaskKeson"
-- modbus任务
--require "modbusrtu"
-- 本地实时读数据
require "pressureRealTime"
--数据上传
require "regularlyUploadData"
--声光报警处理
--require "alarm1LampVoice"
--require "alarm2LampVoice"
--require "alarm3LampVoice"
--require "alarm4LampVoice"
--日志删除
--require "delGeneratorFlie"
--require "runGps"
--电磁阀状态跟踪
--require "elecValveStatusMonit"

-- 启动系统框架
sys.init(0, 0)
sys.run()
